tools/gdbsx: fix 'g' packet response for 64bit guests
authorMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Tue, 31 Jul 2018 02:30:42 +0000 (04:30 +0200)
committerWei Liu <wei.liu2@citrix.com>
Wed, 1 Aug 2018 09:26:11 +0000 (10:26 +0100)
commit0c9821d5c870c35aa38df7bb5e2ff54da2169b5b
tree71e5c2a356aae0461e482bb09527b14f18114df3
parent01dfa3378f915111c5fbc0f188f0cfd2658fe013
tools/gdbsx: fix 'g' packet response for 64bit guests

gdb 8.0 fixed bounds checking for 'g' packet (commit
9dc193c3be85aafa60ceff57d3b0430af607b4ce "Check for truncated
registers in process_g_packet"). This revealed that gdbsx did
not properly formatted 'g' packet - segment registers and eflags are
expected to be 32-bit fields in the response (according to
gdb/features/i386/64bit-core.xml in gdb sources). Specific error is:

    Truncated register 26 in remote 'g' packet

instead of silently truncating part of register.

Additionally, it looks like segment registers of 64bit guests were never
reported correctly, because of type mismatch.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
tools/debugger/gdbsx/gx/gx_local.c
tools/debugger/gdbsx/xg/xg_main.c
tools/debugger/gdbsx/xg/xg_public.h